Server: Use min instead of max to limit the number of threads#17421
Server: Use min instead of max to limit the number of threads#17421dhruvmanila merged 1 commit intoastral-sh:mainfrom
min instead of max to limit the number of threads#17421Conversation
|
|
|
@AlexWaygood Could you merge this for me? I don't have write access to this repo. |
I know! I'm not the only maintainer here, though, and wanted to give other maintainers some time to chime in if they wanted to. Your reasoning seems correct to me, but I'm not familiar with this area of the codebase :-) |
carljm
left a comment
There was a problem hiding this comment.
This looks clearly correct to me (in that it makes the behavior match the comments describing the intended behavior.) If it were just the red-knot server, I'd just merge it, but since it also impacts the ruff LSP, I'd rather have @dhruvmanila confirm.
dhruvmanila
left a comment
There was a problem hiding this comment.
Nice catch! I'm not sure how this slipped by but thank you for noticing and fixing it.
min instead of max to limit the number of threads
* main: [red-knot] class bases are not affected by __future__.annotations (#17456) [red-knot] Add support for overloaded functions (#17366) [`pyupgrade`] Add fix safety section to docs (`UP036`) (#17444) [red-knot] more type-narrowing in match statements (#17302) [red-knot] Add some narrowing for assignment expressions (#17448) [red-knot] Understand `typing.Protocol` and `typing_extensions.Protocol` as equivalent (#17446) Server: Use `min` instead of `max` to limit the number of threads (#17421)
* main: (123 commits) [red-knot] Handle explicit class specialization in type expressions (#17434) [red-knot] allow assignment expression in call compare narrowing (#17461) [red-knot] fix building unions with literals and AlwaysTruthy/AlwaysFalsy (#17451) [red-knot] Type narrowing for assertions (take 2) (#17345) [red-knot] class bases are not affected by __future__.annotations (#17456) [red-knot] Add support for overloaded functions (#17366) [`pyupgrade`] Add fix safety section to docs (`UP036`) (#17444) [red-knot] more type-narrowing in match statements (#17302) [red-knot] Add some narrowing for assignment expressions (#17448) [red-knot] Understand `typing.Protocol` and `typing_extensions.Protocol` as equivalent (#17446) Server: Use `min` instead of `max` to limit the number of threads (#17421) [red-knot] Detect version-related syntax errors (#16379) [`pyflakes`] Add fix safety section (`F841`) (#17410) [red-knot] Add `KnownFunction` variants for `is_protocol`, `get_protocol_members` and `runtime_checkable` (#17450) Bump 0.11.6 (#17449) Auto generate `visit_source_order` (#17180) [red-knot] Initial tests for protocols (#17436) [red-knot] Dataclasses: synthesize `__init__` with proper signature (#17428) [red-knot] Dataclasses: support `order=True` (#17406) [red-knot] Super-basic generic inference at call sites (#17301) ...
Summary
Prevent overcommit by using max 4 threads as intended.
Unintuitively,
.max()returns the maximum value ofselfand the argument (not limiting to the argument). To limit the value to 4, one needs to use.min().https://doc.rust-lang.org/std/cmp/trait.Ord.html#method.max